package pers.cj.pdos.mapper;

import org.apache.ibatis.annotations.Param;
import pers.cj.pdos.entity.Goods;
import pers.cj.pdos.entity.GoodsUnit;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import pers.cj.pdos.vo.CountGoodsUnitVo;
import pers.cj.pdos.vo.GoodsUnitCountVo;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author chenj
 * @since 2019-11-04
 */
public interface GoodsUnitMapper extends BaseMapper<GoodsUnit> {
    void insertBatch(List<GoodsUnit> list);
    void updatePriceBatch(List<GoodsUnit> list);
    Long countByCodeList(String companyId, List<GoodsUnit> list);

    void batchDeleteByGoodsList(List<Goods> list);

    /**
     * 检查单位数量以及基本单位是否允许小数
     * @param list
     * @return - 返回一个map-key为goodsId,value为countVO
     */
    List<GoodsUnitCountVo> checkByGoodsList(List<Goods> list);

    /**
     * 检查goodsUnitlist是否被单据引用
     * @param list
     * @return
     */
    List<CountGoodsUnitVo> checkGoodsUnitListUsed(@Param("list") List<GoodsUnit> list);
}
